//============================================================================================
/**
 * @file	h_obst.h
 * @brief	ポケスロン競技：障害物競走　障害物
 * @author	Nozomu Saito
 */
//============================================================================================
#ifndef __H_OBST_H__
#define __H_OBST_H__

#include "../pkthln_clact.h"
#include "../hit_rect.h"

#define OBST_NO_NONE	(255)

typedef struct H_OBST_tag * H_OBST_PTR;

extern H_OBST_PTR H_OBST_Alloc(const int inNum, const int inHeapID);
extern void H_OBST_Free(H_OBST_PTR ptr);
extern H_OBST_PTR H_OBST_GetObstPtr(H_OBST_PTR pObstArray, const inIndex);
extern void H_OBST_SetObjPtr(H_OBST_PTR ptr, PKTHLN_ACT_PTR obj_ptr, PKTHLN_ACT_PTR aff_obj_ptr);
extern void H_OBST_SetActive(H_OBST_PTR ptr, const u8 inActive);
extern BOOL H_OBST_IsValid(H_OBST_PTR ptr);
extern BOOL H_OBST_IsHitValid(H_OBST_PTR ptr);
extern void H_OBST_InvalidHit(H_OBST_PTR ptr);
extern void H_OBST_SetPos(H_OBST_PTR ptr, VecFx32 *inVec);
extern void H_OBST_Move(H_OBST_PTR ptr, const int inSpeed);
extern void H_OBST_GetHitRect(H_OBST_PTR ptr, HIT_RECT *outHitRect);

#endif //__H_OBST_H__